home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.mactech.com 2010
/
ftp.mactech.com.tar
/
ftp.mactech.com
/
thinkref
/
archive
/
THINKPascalUH2.1.sea
/
THINKPas Univ Hdr 2.1
/
Interfaces
/
ADSPSecure.p
< prev
next >
Wrap
Text File
|
1995-09-14
|
4KB
|
103 lines
{ Converted with MPW2TPas Tuesday, September 12, 1995 5:06:41 PM }
{}
{ File: ADSPSecure.p}
{ }
{ Contains: Secure AppleTalk Data Stream Protocol Interfaces.}
{ }
{ Version: Technology: AOCE Toolbox 1.02}
{ Package: Universal Interfaces 2.1 in “MPW Latest” on ETO #18}
{ }
{ Copyright: © 1984-1995 by Apple Computer, Inc.}
{ All rights reserved.}
{ }
{ Bugs?: If you find a problem with this file, use the Apple Bug Reporter}
{ stack. Include the file and version information (from above)}
{ in the problem description and send to:}
{ Internet: apple.bugs@applelink.apple.com}
{ AppleLink: APPLE.BUGS}
{ }
{}
unit ADSPSecure;
interface
{$IFC UNDEFINED __ADSPSECURE__}
{$SETC __ADSPSECURE__ := 1}
uses
ConditionalMacros, Types, Events, Notification, AppleTalk, Processes, PPCToolbox, EPPC, Files, Aliases, AppleEvents, ADSP, OCE, OCEAuthDir;
{ $PUSH}
{ $ALIGN MAC68K}
{ $LibExport+}
const
sdspOpen = 229;
{}
{For secure connections, the eom field of ioParams contains two single-bit flags}
{(instead of a zero/non-zero byte). They are an encrypt flag (see below), and an}
{eom flag. All other bits in that field should be zero.}
{}
{To write an encrypted message, you must set an encrypt bit in the eom field of}
{the ioParams of your write call. Note: this flag is only checked on the first}
{write of a message (the first write on a connection, or the first write following}
{a write with eom set.}
{}
dspEOMBit = 0; { set if EOM at end of write }
dspEncryptBit = 1; { set to encrypt message }
dspEOMMask = $1;
dspEncryptMask = $2;
sdspWorkSize = 2048;
type
TRSecureParams = record
localCID: INTEGER; { local connection id }
remoteCID: INTEGER; { remote connection id }
remoteAddress: AddrBlock; { address of remote end }
filterAddress: AddrBlock; { address filter }
sendSeq: LONGINT; { local send sequence number }
sendWindow: INTEGER; { send window size }
recvSeq: LONGINT; { receive sequence number }
attnSendSeq: LONGINT; { attention send sequence number }
attnRecvSeq: LONGINT; { attention receive sequence number }
ocMode: SInt8; { unsigned char }
{ open connection mode }
ocInterval: SInt8; { unsigned char }
{ open connection request retry interval }
ocMaximum: SInt8; { unsigned char }
{ open connection request retry maximum }
secure: BOOLEAN; { --> TRUE if session was authenticated }
sessionKey: AuthKeyPtr; { <--> encryption key for session }
credentialsSize: LONGINT; { --> length of credentials }
credentials: Ptr; { --> pointer to credentials }
workspace: Ptr; { --> pointer to workspace for connection}
{ align on even boundary and length = sdspWorkSize }
recipient: AuthIdentity; { --> identity of recipient (or initiator if active mode }
issueTime: UTCTime; { --> when credentials were issued }
expiry: UTCTime; { --> when credentials expiry }
initiator: RecordIDPtr; { <-- RecordID of initiator returned here.}
{ Must give appropriate Buffer to hold RecordID}
{ (Only for passive or accept mode) }
hasIntermediary: BOOLEAN; { <-- will be set if credentials has an intermediary }
filler1: BOOLEAN;
intermediary: RecordIDPtr; { <-- RecordID of intermediary returned here.}
{ (If intermediary is found in credentials}
{ Must give appropriate Buffer to hold RecordID}
{ (Only for passive or accept mode) }
end;
{ $ALIGN RESET}
{ $POP}
{$ENDC}
{__ADSPSECURE__}
implementation
end.